package code09_final和抽象类;

public class Test04_抽象类 {
	public static void main(String[] args) {
		// 创建一个子类的对象
		Dog dog = new Dog("旺财");
		dog.show();

		// 不允许实例化父类
		// Pet pet = new Pet();
	}
}

/*
 * 父类，宠物类，抽象类
 */
abstract class Pet {
	String name;

	public Pet() {
		super();
	}

	public Pet(String name) {
		super();
		this.name = name;
		System.out.println("父类中构造方法。。。。");
	}

	// 抽象方法，没有方法体，需要由子类来重写并实现方法体
	public abstract void show(); 
	
	public void play() {
		System.out.println("宠物正在玩耍！");
	}
	
}

/*
 * 子类，狗狗类
 */
class Dog extends Pet {

	public Dog() {
		super();
	}

	public Dog(String name) {
		super(name);
		System.out.println("子类中的构造方法。。。。");
	}

	@Override
	public void show() {
		System.out.println("这是一只宠物狗！！");
	}
}
